樊林 2016-9-6
文檔目的
#昨天被告知php服務(wù)器又登錄不了了,今天來公司定位了這個問題瑰煎,
#發(fā)現(xiàn)是中木馬了,記錄詳細的分析排查過程,防止上線后造成的損失。
排查過程
-
木馬表現(xiàn)
- ssh無法登陸
- 發(fā)現(xiàn)有人修改了ssh認證文件
- 查看root用戶操作記錄萤捆,未發(fā)現(xiàn)異常
- 手動修改ssh配置,重啟ssh服務(wù)后,恢復(fù)正常
- 過一段時間后俗或,問題重現(xiàn)
- 至此市怎,基本確定服務(wù)器被掛木馬
-
找到木馬
-
查看是否有異常的定時器腳本
-
看看腳本內(nèi)容
# 腳本大概就是修改ssh認證文件,重啟ssh辛慰,安裝iq33区匠,然后啟動ntp
# 由此可見ntp就是這個木馬的守護進程 -
在top里能找到這個守護進程
# 這個ntp并不會實時消耗cpu,需要一段時間觀察帅腌,才能找到
# linux有個時間同步的服務(wù)叫ntpd驰弄,這個ntp帶有迷惑性 -
看看執(zhí)行記錄
# vi /var/log/cron
-
確認下進程創(chuàng)建的時期,和第一次出現(xiàn)問題的時間是一致的
-
查看進程運行等級
# 0:關(guān)機 1:單用戶模式 2:無網(wǎng)絡(luò)支持的多用戶模式
# 3:有網(wǎng)絡(luò)支持的多用戶模式 4:保留速客,未使用
# 5:有網(wǎng)絡(luò)支持有X-Window支持的多用戶模式
# 6:重新引導(dǎo)系統(tǒng)戚篙,即重啟 -
已運行等級3為例,在系統(tǒng)啟動腳本果然有ntp的鏈接
# cd /etc/rc.d/rc3.d
-
一些相關(guān)的配置文件
-
-
清除木馬
- 去掉crontab文件中的木馬內(nèi)容
# /var/spool/cron/crontabs/root和/var/spool/cron/root -
干掉守護進程ntp溺职,并刪除相關(guān)文件
-
干掉木馬進程已球,并刪除相關(guān)文件
-
刪除安裝文件及免密登錄的文件
-
刪除隨系統(tǒng)啟動的文件
- 刪除木馬ssh證書,修改ssh配置辅愿,重啟sshd
- 去掉crontab文件中的木馬內(nèi)容
-
原因分析
- 可能是redis未授權(quán)導(dǎo)致的,也就是說外網(wǎng)可以直接不用密碼登錄我的redis, 連上redis后忆某,通過以下命令即可創(chuàng)建文件:---config set dir /root/.sshconfig set dbfilename authorized_keysset key value点待,其中value為生成公鑰,即可將公鑰保存在服務(wù)器弃舒,使得登錄時不需要輸入賬號與密碼癞埠。(不讓外網(wǎng)直接連接在 redis.conf 文件中找到#bind 127.0.0.1,把前面的#號去掉聋呢,重啟)
- 也可能是相關(guān)程序員使用的各種安裝包苗踪,內(nèi)置了次此木馬