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











