linux檢測系統是否被入侵(上)

入門小站發表於2021-11-12
入侵者在入侵成功後,往往會留下後門以便再次訪問被入侵的系統,而建立系統賬號是一種比較常見的後門方式。在做入侵排查的時候,使用者配置檔案/etc/passwd和密碼配置檔案/etc/shadow是需要去重點關注的地方。

查詢特權使用者特權使用者(uid 為0)

> awk -F: '$3==0{print $1}' /etc/passwd

查詢遠端可以登入的賬戶

> awk '/\$1|\$5|\$6/{print $1}' /etc/shadow
  • $1:MD5(長度 22個字元)
  • $5:SHA-256(長度 43 個字元)
  • $6:SHA-512(長度86 個字元)

檢查sudo許可權

> cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL"

刪除或鎖定賬號

通過上面的步驟可以找到可疑的賬號
> usermod -L rooot #禁用帳號,帳號無法登入,/etc/shadow第二欄為!開頭
> userdel rooot    #刪除user使用者
> userdel -r rooot #將刪除root使用者,並且將/home目錄下的root目錄一併刪除

檢視當前登入系統的資訊

> who    #檢視當前登入使用者(tty本地登陸  pts遠端登入)
> w      #檢視系統資訊,想知道某一時刻使用者的行為
> uptime #檢視登陸多久、多少使用者,負載

檢查異常埠

使用netstat 網路連線命令,分析可疑埠、IP、PID等資訊。
> netstat -tunlp | less

抓包分析

> tcpdump -c 10 -q //精簡模式顯示 10個包

使用ps命令檢查可疑的程式

> ps -ef

查超系統中佔用資源最高的資源

> top

發現異常進一步檢查

> ps eho command -p $PID  #檢視該程式啟動的完整命令列
> readlink /proc/$PID/cwd #檢視該程式啟動時候所在的目錄
> ls -l /proc/$PID/exe    #檢視下pid所對應的程式檔案路徑
> strings -f /proc/$PID/environ | cut -f2 -d '' #檢視該程式啟動時的完整環境變數:
> lsof -p $PID #列出該程式所開啟的所有檔案

檢查系統服務

Linux系統服務管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。

檢查開機自啟的服務

//對於systemd服務管理器來說,可以通過下述方式檢視開機自啟的服務
> systemctl list-unit-files --type=service | grep "enabled"
//chkconfig就是CentOS6以前用來控制系統服務的工具,檢視服務自啟動狀態
> chkconfig --list | grep "3:on\|5:on"

檢查啟動項指令碼

命令檢視下開機啟動項中是否有異常的啟動服務。
> cat /etc/rc.local

檢查計劃任務

利用計劃任務進行許可權維持,可作為一種永續性機制被入侵者利用。檢查異常的計劃任務,需要重點關注以下目錄中是否存在惡意指令碼。

/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/*

原文連結:https://rumenz.com/rumenbiji/...
微信公眾號:入門小站

相關文章