伺服器入侵排查流程

2022-07-01 09:33:13 字數 3302 閱讀 8589

常見入侵

挖礦

# 表象:cpu增高、可疑定時任務、外聯礦池ip。

# 告警:威脅情報(主要)、hids、蜜罐(挖礦擴散時觸發)

# 動作:通過cpu確認異常情況→ 確認可疑程序 → 檢查定時任務、

# 主機服務、守護程序→結束病毒程序,刪除病毒檔案->加固。

webshell
# 表象:業務側應用邏輯漏洞(允許上傳指令碼等造成命令執行)或者開源軟體低版本造成(fastjson等)導致,

# 通常為**shell、高危命令執行,同時存在內網入侵、惡意程式傳播、資料盜取等行為。

# 告警:hids(主要)、流量監控裝置

# 是業務邏輯漏洞導致、開源元件漏洞還是弱口令與未授權等情況導致 →排查應用其他機器情況,

# 全盤掃瞄webshell檔案→ 縮容機器,修復相關問題重新恢復應用開放。

內網入侵
# 表象:以入侵的跳板機為源頭進行埠掃瞄、ssh爆破、內網滲透操作、域控攻擊等。

# 告警:hids(主要)、蜜罐、域控監控(ata等)

# 動作:確定入侵邊界再進行處理,通常蜜罐等存在批量掃瞄爆破記錄,需登入前序遭入侵機器確認情況,

# 方便後續批量處理,這個情況較為複雜後期單獨寫一篇文章。

程序相關

1.查詢可疑埠、程序、ip:netstat -antlp | more 或者 netstat -anltp | grep $pid,若存在可疑程序可通過 ls -l /proc/$pid 檢視pid對應的程序檔案路徑。

2.針對挖礦等大量消耗系統資源的惡意程式可以通過 top(執行top命令後通過大寫字母p按cpu排序,通過大寫字母m按記憶體排序)、ps -elf 可疑$pid 、ps -aux命令檢查排名靠前的或者不斷變化的程式。同時使用 kill - 9 程序名 結束程序。

系統相關

檢查賬戶安全

# ① 檢查近期登陸的賬戶記錄:使用 last 命令,禁用可疑使用者:usermod -l 使用者名稱,刪除使用者:userdel -r 使用者名稱

# ② 查詢特權使用者:awk -f ":" '$3==0' /etc/passwd

# ③ 查詢可遠端登入使用者:awk '/\$1|\$6/' /etc/shadow

# ④ 查詢sudo許可權賬戶:cat /etc/sudoers | grep -v "^#\|^$" | grep "all=(all)"

# ⑤ 與業務確認管理員帳戶、資料庫帳戶、mysql 帳戶、tomcat 帳戶、**後台管理員帳戶等密碼設定是否存在弱口令情況。

檢查啟動項與定時任務
# 1 cron目錄(/var/spool/cron,查詢目錄下所有檔案通過ls -al)下檢查非法定時任務指令碼:

# 檢視/etc/crontab,/etc/cron.d,/etc/cron.daily,cron.hourly/,cron.monthly,cron.weekly/是否存在可疑指令碼或程式,進行注釋或者刪除。

# 3.查詢主機歷史命令: history

# 4.查詢主機所有服務:service --status-all

# 5.開機啟動項:ls -alt /etc/init.d/ cat /etc/rc.local

檔案相關

關於敏感目錄

# ② 指定目錄下檔案按時間排序:ls -alt |head -n 10

關於檔案篡改

# ① 查詢24小時內被修改的特定檔案:find ./ -mtime 0 -name "*.jsp"

# ② 查詢72小時內新增的檔案:find / -ctime -2

# ③ 查詢一定時間內敏感目錄下被修改的系統檔案:

find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ /var/spool/cron/ -type f -mtime -3 | xargs ls -l

刪除惡意檔案
# ① ls -al /proc/[pid]/,ls -al /proc/[pid]/exe

# ② rm -f [exe_path]

# 查詢檔案md5: md5sum 檔名

# 查詢ssh登入日誌: vim /var/log/secure

# 所有ssh登入打包日誌均在該資料夾,可直接vim,快速判斷爆破痕跡(accepted password:密碼正確、failed password:密碼錯誤)

其他

取證備份

# 系統服務備份 chkconfig --list > services.log

# 程序備份 ps -ef > ps.log

# 監聽埠備份 netstat -utnpl > port-listen.log

# 系統所有埠情況 netstat -ano > port-all.log

檢視賬號是否有異常登入情況
# a.檢視當前登入使用者和其行為:w

# c.檢視所有使用者的登入登出資訊及系統的啟動、重啟及關機事件:last

# d.檢視登入成功的日期、使用者名稱及ip:grep "accepted " /var/log/secure* | awk ''

# e.檢視試圖爆破主機的ip:grep refused /var/log/secure* | awk | sort | uniq -c |sort -nr | more 、 grep "failed password" /var/log/secure* | grep -e -o "(([0-9])\.([0-9])\.([0-9])\.([0-9]))" | uniq -c

# f.檢視有哪些ip在爆破主機的root賬號:grep "failed password for root" /var/log/secure | awk '' | sort

# g.檢視爆破使用者名稱字典:grep "failed password" /var/log/secure | awk | sort | uniq -c | sort -nr

cron檔案檢查惡意指令碼位置
/var/spool/cron/*

/etc/crontab

/etc/cron.d/*

/etc/cron.daily/*

/etc/cron.hourly/*

/etc/cron.monthly/*

/etc/cron.weekly/

/etc/anacrontab

/var/spool/anacron/*

檢查近期被替換命令
ls -alt /usr/bin /usr/sbin /bin /usr/local/bin

伺服器被入侵如何排查?如何防止伺服器被入侵?

遇到很多次客戶伺服器被入侵的情況,有些伺服器被植入木馬後門 有些被檢查出有挖礦程式 有些發現登入密碼不對,被惡意登入修改了密碼,遇到了伺服器被入侵的情況應第一時間聯絡服務商售後處理將損失降低到最低程度,讓 遊戲等業務恢復。根據以往的處理經驗,總結了一些伺服器被入侵的排查方法,專門用來檢查伺服器第一時...

Windows伺服器系統入侵流程

windows伺服器包括乙個全面 整合的基礎結構,旨在滿足開發人員和資訊科技 it 專業人員的要求。此系統設計用於執行特定的程式解決方案,借助這些程式和解決方案,資訊工作人員可以快速便捷的獲取 分析和共享資訊。入侵者對windows伺服器系統的攻擊只要是針對iis伺服器和組網協議的攻擊。入侵wind...

排查Linux伺服器是否有被入侵方法總結

日常運維工作中,我們對linux伺服器進行安全檢查也是乙個非常重要的環節。今天,分享一下如何檢查linux伺服器是否遭受了入侵,所謂的伺服器被入侵或者說被黑了的意思,是指未經授權的人或程式為了自己的某種目的登入到伺服器上,通常會產生不好的影響。一些攻擊者會在訪問伺服器的同時濫用伺服器資源,並且還不大...