資安

系統啟動提示oom的處理過程

作者:楓凡

問題背景

centos 系統主機啟動後提示oom,重啟後第一時間也是oom
image.png

排查過程

接到此工單之前,通用技術同學已經嘗試將系統內部禁止了nginx,php-fpm,mysqld,/etc/rc.local 中的/usr/bin/zabbix_server 的開機自啟動,但依然無效,升級過來
常見服務已經禁止,重啟也無效,可以使用單用戶模式嘗試進入查看加載,確認下是否系統服務影響
第一次沒有看到啟動過程,但是啟動後也是提示oom,可以說明並非客戶安裝的第三方服務導致,而是由於系統內部自身的服務可能被添加篡改導致了
再重啟第二次觀察單用戶模式啟動過程,看到如下加載內容
image.png

可以定位問題了,/etc/init.d/functions 中有異常的內容在循環耗盡內存
掛載修復盤查看該文件內容,可以明顯看到有一句話木馬,就是“罪魁禍首”
image.png

解決方案

將/etc/init.d/functions 中添加的一句話木馬註釋重啟後恢復正常

擴展

一句話木馬解析

:( ) ;:

執行該語句會導致系統內存耗盡,有名的“fork炸彈”
原理就是定義一個函數,並不斷遞歸,不停地製造後臺任務
image.png

寫的容易理解一點就是如下

function() 
;
function

Leave a Reply

Your email address will not be published. Required fields are marked *