Linux入侵檢測基礎

wyzsk發表於2020-08-19
作者: Blood_Zero · 2015/12/18 16:57

0x00 審計命令


在linux中有5個用於審計的命令:

  • last:這個命令可用於檢視我們系統的成功登入、關機、重啟等情況;這個命令就是將/var/log/wtmp檔案格式化輸出。
  • lastb:這個命令用於檢視登入失敗的情況;這個命令就是將/var/log/btmp檔案格式化輸出。
  • lastlog:這個命令用於檢視使用者上一次的登入情況;這個命令就是將/var/log/lastlog檔案格式化輸出。
  • who:這個命令使用者檢視當前登入系統的情況;這個命令就是將/var/log/utmp檔案格式化輸出。
  • w:與who命令一致。

關於它們的使用:man last,last與lastb命令使用方法類似:

#!bash
last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...]  [tty...]
lastb [-R] [-num] [ -n num ] [ -f file ] [-adFiowx] [name...]  [tty...]
who [OPTION]... [ FILE | ARG1 ARG2 ]

引數說明:

  1. 檢視系統登入情況

    last:不帶任何引數,顯示系統的登入以及重啟情況

    p1

  2. 只針對關機/重啟

    使用-x引數可以針對不同的情況進行檢視

    p2

  3. 只針對登入

    使用-d引數,並且引數後不用跟任何選項

    p3

  4. 顯示錯誤的登入資訊

    lastb

  5. 檢視當前登入情況

    who、w

0x01 日誌檢視


在Linux系統中,有三類主要的日誌子系統:

  • 連線時間日誌: 由多個程式執行,把記錄寫入到/var/log/wtmp和/var/run/utmp,login等程式會更新wtmp和utmp檔案,使系統管理員能夠跟蹤誰在何時登入到系統。(utmp、wtmp日誌檔案是多數Linux日誌子系統的關鍵,它儲存了使用者登入進入和退出的記錄。有關當前登入使用者的資訊記錄在檔案utmp中; 登入進入和退出記錄在檔案wtmp中; 資料交換、關機以及重啟的機器資訊也都記錄在wtmp檔案中。所有的記錄都包含時間戳。)
  • 程式統計: 由系統核心執行,當一個程式終止時,為每個程式往程式統計檔案(pacct或acct)中寫一個記錄。程式統計的目的是為系統中的基本服務提供命令使用統計。
  • 錯誤日誌: 由syslogd(8)守護程式執行,各種系統守護程式、使用者程式和核心透過syslogd(3)守護程式向檔案/var/log/messages報告值得注意的事件。另外有許多Unix程式建立日誌。像HTTP和FTP這樣提供網路服務的伺服器也保持詳細的日誌。

日誌目錄:/var/log(預設目錄)

  1. 檢視程式日誌

    cat /var/log/messages

    p4

  2. 檢視服務日誌

    cat /var/log/maillog

    p5

0x02 使用者檢視


Linux不同的使用者,有不同的操作許可權,但是所有使用者都會在/etc/passwd /etc/shadow /etc/group /etc/group- 檔案中記錄;

  1. 檢視詳細

    • less /etc/passwd:檢視是否有新增使用者
    • grep :0 /etc/passwd:檢視是否有特權使用者(root許可權使用者)
    • ls -l /etc/passwd:檢視passwd最後修改時間
    • awk -F: '$3==0 {print $1}' /etc/passwd:檢視是否存在特權使用者
    • awk -F: 'length($2)==0 {print $1}' /etc/shadow:檢視是否存在空口令使用者

    注:linux設定空口令:passwd -d username

    p6

0x03 程式檢視


  1. 普通程式檢視

    程式中我們一般使用ps來檢視程式;man ps

    • ps -aux:檢視程式
    • lsof -p pid:檢視程式所開啟的埠及檔案
  2. 檢查隱藏程式

    • ps -ef | awk '{print }' | sort -n | uniq >1
    • ls /proc | sort -n |uniq >2
    • diff 1 2

    注:以上3個步驟為檢查隱藏程式

0x04 其他檢查


  1. 檢查檔案

    • find / -uid 0 -print:查詢特權使用者檔案
    • find / -size +10000k -print:查詢大於10000k的檔案
    • find / -name "..." -prin:查詢使用者名稱為...的檔案
    • find / -name core -exec ls -l {} \;:查詢core檔案,並列出詳細資訊
    • md5sum -b filename:檢視檔案的md5值
    • rpm -qf /bin/ls:檢查檔案的完整性(還有其它/bin目錄下的檔案)
  2. 檢查網路

    • ip link | grep PROMISC:正常網路卡不應該存在promisc,如果存在可能有sniffer
    • lsof -i
    • netstat -nap:檢視不正常埠
    • arp -a:檢視arp記錄是否正常
  3. 計劃任務

    • crontab -u root -l:檢視root使用者的計劃任務
    • cat /etc/crontab
    • ls -l /etc/cron.*:檢視cron檔案是變化的詳細
    • ls /var/spool/cron/
  4. 檢查後門

    對於linux的後門檢查,網路上有一些公開的工具,但是在不使用這些工具的前提時,我們可以透過一些命令來獲取一些資訊。

    首先就是檢測計劃任務,可以參考上面;
    第二:檢視ssh永久連結檔案:vim $HOME/.ssh/authorized_keys
    第三:lsmod:檢查核心模組
    第四:chkconfig --list/systemctl list-units --type=service:檢查自啟
    第五:服務後門/異常埠(是否存在shell反彈或監聽)
    其它:
    ls /etc/rc.d
    ls /etc/rc3.d

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章